﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Common;

namespace Shop.Intermediate
{
    public interface IDataProvider
    {
        Shop.Intermediate.ITransaction Transaction { get;}
        Shop.Intermediate.IProcedure Procedure { get; }
        Shop.Intermediate.IDbHelper DbHelper { get; }
        
        Shop.Intermediate.Repository.IDepartmentRepository DepartmentRepository { get; }
        Shop.Intermediate.Repository.IBasicTypeRepository BasicTypeRepository { get; }
        Shop.Intermediate.Repository.IBasicDataRepository BasicDataRepository { get; }

        Shop.Intermediate.Data.IDepartment NewDepartment();
        Shop.Intermediate.Data.IBasicType NewBasicType();
        Shop.Intermediate.Data.IBasicData NewBasicData();

        void SubmitChanges();
    }
}
